An application platform may implement metaobjects to support different business solutions. Metaobjects may include generic models of a business object, a BI view, a floorplan (i.e., a user interface layout), user interface text, a process component, and a message type, among others. A business object, for example, is a software model representing real-world items used during the transaction of business. An instance of a business object metaobject may comprise a SalesOrder object model or an Organization object model. Instances of these object models, in turn, represent specific data (e.g., SalesOrder SO435539, ACME corporation).
An instance of a business object metaobject may specify business logic and/or data having any suitable structure. The structure may be determined based on the requirements of a business scenario in which the instance is to be deployed. A business application for a particular business scenario may require many business object instances, where the structure of each has been determined based on the requirements of the particular business scenario.
A customer deploying a business solution may desire changes to the business object metaobject instances (and/or to the instances of other metaobjects) included in the business solution. For example, a customer may require a field (e.g., SerialNumber) which does not exist within the Product business object instance of a business solution. In addition, another customer may require an additional node or query within the Product business object instance of the same business solution.
Conventional techniques for adding a field to an existing business object instance include APPEND mechanisms which change the definition of the business object instance at the data dictionary level. This technique requires advanced technical skill and presents other drawbacks as well. For example, an entire database system must be recompiled to effect such a changed definition, and the change occurs globally with respect to all instantiations of the business object within the system. Moreover, the change may require reprogramming of application clients which interact with the changed business object.
Commonly-assigned co-pending U.S. patent application Ser. No. 12/339,328, entitled “UI-Driven Binding Of Extension Fields To Business Objects”, describes systems for facilitating the addition of extension fields to business objects instances. However, these systems do not provide for the addition of entities other than extension fields.
Systems are desired for facilitating the addition of nodes, actions, fields, queries, etc. to object models used in business application platforms. These additions may provide increased flexibility to customers. It is desirable that such additions occur at a model level in order to maintain system coherence and modularity.